package com.xbongbong.formula.qlexpress.operator.advanced;

import com.ql.util.express.Operator;
import com.xbongbong.formula.constant.Constant;
import com.xbongbong.paas.constant.PaasConstant;

import java.util.HashMap;
import java.util.Map;
import java.util.Objects;

/**
 * 向目标表单中插入数据。目标表单可为系统中的任意表单（含子表）
 * @author 吴峰
 * @version v1.0
 * @date 2020/1/10 17:14
 * @since v1.0
 */
public class OperatorInsert extends Operator {

    public OperatorInsert(String name){
        this.name = name;
    }

    public OperatorInsert(String aAliasName, String aName, String errorInfo){
        this.aliasName = aAliasName;
        this.name = aName;
        this.errorInfo = errorInfo;
    }

    /**
     * 语法：INSERT(目标表单,目标表单.字段1,列值1,目标表单.字段2,列值2...)
     * 说明：向目标表单中插入数据。目标表单可为系统中的任意表单（含子表）
     * 例如：每次进行【入库】操作时，在【入库流水】中加一条对应的入库流水信息。
     * @param list
     * @return
     * @throws Exception
     */
    @Override
    public Object executeInner(Object[] list) throws Exception {
        if (Objects.isNull(list) && list.length == Constant.ZERO) {
            return null;
        }
        // 目标表单
        Object targetForm = list[0];
        // 操作的数据

        // 返回结果
        Map<String, Object> returnResult = new HashMap<>(PaasConstant.DEFAULT_INITIAL_CAPACITY);

        return returnResult;
    }
}
